Lockdown PIN redaction, a build guard, and favorite compaction - #11285
Conversation
⚡ Try this PR in the Web FlasherWarning This is an automated, unreviewed CI test build. Back up your device configuration Supported boards built by this PR (31)
Build artifacts expire on 2026-08-29. Updated for |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe changes update licensed channel initialization, favorite-node compaction, signer authorization, Bluetooth PIN redaction, port timestamp tracking, and incompatible PacketAPI build configuration handling. ChangesNode state and authorization
PhoneAPI protections
PacketAPI compatibility guard
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
c10adf7 to
7411eb3
Compare
Three follow-ups from the post-release backlog, one commit each. Independent of #11282, #11283 and #11284; all four branch from develop and merge cleanly in any order.
fixed_pinintact, unlike the network, lora and security cases next to it which already redact. The pairing PIN is now zeroed for an unauthorized client.PacketAPI::receivePacketcallsservice->handleToRadio()directly, bypassinghandleToRadioPacketand therefore the lockdown per-connection admin gate. The two features cannot coexist today (MESHTASTIC_PHONEAPI_ACCESS_CONTROLis defined only underARCH_NRF52,USE_PACKET_APIonly on esp32s3 variants), so this is a dormant guard that fails the build instead of silently shipping an admin-auth bypass if lockdown ever broadens.resetNodes(keepFavorites)zeroed non-favorites in place without compacting, so a favorite above the resultingnumMeshNodeswas invisible to everyi < numMeshNodesscan while still being serialized to flash and restored on the next load. Favorites are now compacted into contiguous low slots and the tail is cleared. This also drops a spurious double-count of the self node at index 0.These were drafted against an older develop; each site was re-checked against current HEAD before committing.
Summary by CodeRabbit
Bug Fixes
Security